########################################
# make搜索路径的变量定义
VPATH = .
########################################
########################################
# 一些变量的定义
CC = gcc
CXX = g++

CXXFLAGS = $(TOTOTOY_DEBUG_OPTIONS) -g -I/TinyXml -Wall
CXXLFLAGS = $(TOTOTOY_DEBUG_OPTIONS) -Wall -L/TinyXml/tinyxml
LIB_TOTOTOY = libtototoy.a

OBJS = base.o traceback.o character.o linklist.o bytetree.o xml_parser.o 
SOURCESCXX = $(OBJS:%.o=%.cc)
DEPS = $(OBJS:%.o=.%.d)

RM = rm -rf
########################################
########################################
## 声明伪目标
#.PHONY: all clean
########################################

all: $(LIB_TOTOTOY)

########################################
# 包含.d文件
include $(DEPS)
########################################
########################################
# 生成.d文件
$(DEPS): .%.d: %.cc
	$(CXX) -M $(CXXFLAGS) $< > $@.$$$$; sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; rm -f $@.$$$$
########################################
########################################
# 生成.o文件
$(OBJS): %.o: %.cc
	$(CXX) -c $(CXXFLAGS) $< -o $@
########################################
########################################
# 生成.a文件
$(LIB_TOTOTOY): $(OBJS)
	@rm -rf $(LIB_TOTOTOY)
	@ar cru $(LIB_TOTOTOY) $(OBJS)
	@ranlib $(LIB_TOTOTOY)
########################################
########################################
# clean
clean:
	@rm $(OBJS) $(LIB_TOTOTOY) $(DEPS)
########################################
